The online racing simulator
Searching in All forums
(143 results)
Scawen
Developer
Quote from RacerAsh3 :Fantastic update guys, looking extremely promising!

@Scawen would you be so kind as to provide some layout imagery as you did when I requested it for South City please? (https://www.lfs.net/forum/post/2013046#post2013046)

Here are some zips with 2D top down views of updated South City and Kyoto Ring in 3072x3072 png.
EDIT: for comparison I've also generated Westhill in the same format.

https://www.lfs.net/file_lfs.php?name=SO_new_3072.zip
https://www.lfs.net/file_lfs.php?name=KY_new_3072.zip
https://www.lfs.net/file_lfs.php?name=WE_new_3072.zip

Note: some of the newly filled in areas of South City are not actually driveable. There are so many new driveable areas but to get the job finished there has to be some scenery which is not updated to full detail level.
Last edited by Scawen, .
Scawen
Developer
I don't want to get involved in a conversation but I'll say a few things then I'll unsubscribe from the thread.

Quote from Flame CZE :I'm curious what progress Eric has made regarding the track updates and even the new tracks. Last report from him was in the 20th anniversary news article from 2022. Are the existing tracks fully updated now, or are there still some holes to fill? It would be nice to see some screenshots if there is something new to show.

I think Eric knows what I have been going through this year and probably didn't want to bother me with a progress report. And on the other hand he took on a pretty monumental task and so maybe he wanted it near complete before showing anything. I don't know really, I have not tried to discuss a progress report with him.

He did even more finishing of South City and has done repairs and updates on all the other tracks too. There's a curious thing about finishing things, as anyone knows who takes on big projects. The 'last few things' take a lot longer than expected.

But the biggest task he has been on for a long time, is Kyoto. Not only has the track had a lot of work done, but also the surrounding areas, it has had a treatment that could remind you of Westhill. I think he saw the potential and went for it. I'm sure you will be very happy to see a progress report about it when the time comes.

Quote from gu3st :It also doesn't help that recently Scawen has needed to take more web development tasks on either. There's enough PHP knowledge in the community that I think a trusted group might be able to help directly or at least give some informed advice. I'm not really a PHP dev anymore (outside of some contract work on a popular livery sharing site), but I do have many many years of knowledge and expertise with web dev.

I just want to make it clear, I didn't start this year saying, "OK, now I will spend the first 7 months of the year doing web stuff that is out of my comfort zone". I didn't know at the start of the year that Victor would be more involved with his other job and gradually become more reluctant to work on Live for Speed.

The reality is I encountered a barrage of emergency situations (and growing problems) which needed attention. To list a few:

1) Mod hacks that were destroying the online experience
2) Mod submission spam that was overwhelming the reviewers
3) Bugs in mods system e.g. archives of deleted mods never being removed
4) Apparent leak of passwords that LFS users had given to a pirate website years ago Face -> palm
5) Bugs in hosting system causing crashes, slowdowns, etc.
6) DDoS attacks on web server
7) DDoS attacks on game servers

This is not a complete list, it's just off the top of my head. Each of these things took days or weeks to resolve, but at the start of each task I couldn't really delegate the task to community members. I just had to look into the issues and figure out what is going wrong, although the relevant systems were not written my me, and at the start of this year I really had no idea how it all worked. After figuring out the issue, either fix it (sometimes simple) or implement new systems as required (not usually simple).

I'm just explaining how one task after another has come my way, preventing me from doing whatever was planned, and this has sometimes been very frustrating, but it's not something that could be delegated to community members.

This new patch is intended to be a stable release. With all the fixes done, I hope that our systems may be stable for a while. This should let me focus on the tyre physics, to complete it to a good condition so it can possibly be released, along with some remaining graphical tasks. I can't give a time frame for this, as so far this year I've had almost no time to look into it. It seems like now I'm where I thought I would be at the start of January.

At least with all the delays on my side, Eric has had more time to do extra good work and keep up the detail. I have also learned a whole lot about PHP and SQL and understand how our web systems work. For example I was able to do this whole 0.7F update release alone without Victor's help. Smile
Host log files - access and cleanup
Scawen
Developer
Hello Hosters,

As some of you may know, I've been looking around in the hosting system a lot recently and have done some fixes and updates that were necessary as some things were going wrong. It's a big system that Victor created but as he has a separate full time job, he prefers to be less involved with Live for Speed these days. He's still there to help but a lot of the website and hosting maintenance must now be done by me.

One thing I noticed is that the host log files just keep on growing endlessly but I don't think this is a good idea. For example, the biggest one is 15 GB in size which I think is just too big for a file that no-one ever looks at. Six other hosts also have a log file over 1 GB.

This is not an urgent problem but I think it should be fixed before too long. I'm wondering how it should really be done.

A few questions I am wondering about.

Do you even have access to these log files? I know you can see a few pages in the 'Virtual console' window - is that it?
What should you really be able to see, or what would you like to see?
I'm wondering if there could be some practical way of preventing the endless growth but provide what is needed. For example, maybe you only really need a few days' worth of log to be visible?

Just brainstorming now, but how about if each day a new log would be started, and only keep the logs from a few days? Maybe there's a normal way to do this kind of thing, I don't know so that's why I'm asking. Just try to keep it simple and practical please. Smile
Scawen
Developer
Well for several weeks now nearly all development has ceased on my side as some strange people are doing daily attacks on our servers, for unknown reasons.

I mean, we are just trying to provide some entertainment for the people of the world. And although we are one of the world's smallest game developers, these peculiar individuals derive pleasure from bringing down our game servers.

One of the updates to make the servers more robust was to close open ports. One of those open ports on each server was the one listening for ping requests. As such it was a target for attacks, so the servers are now more resilient without leaving that port open.

Anyway, regardless, the attackers have found new ways to attack so everything is pretty pointless. But now you know the reason why.

The whole year I have been dealing with hacks, cracks and attacks. It's pretty joyless and not the reason I do this job. It would be great if the attackers could find something else to do, and I might get a chance to work on developing Live for Speed, for the benefit of all the world's people.
Scawen
Developer
Just to answer a couple of points.

1) DDoS was common before we did the hosting, so developing a new solution for self-hosting would not miraculously solve DDoS issues.

2) It's not just about developers earning a bit less money due to piracy. I don't think you understand the severity, when an illegal master server was able to replicate our services (allegedly 'free' although that wasn't quite true) we didn't earn enough money to live on. This isn't about asking for sympathy, it's a simple statement of fact that if you can't earn enough to pay the bills, you have to get another job.

There are still more things to try, of course I don't know if they'll do much good. The trouble with DDoS these days, for everyone, not just LFS developers, is that every time you increase your defences, the attackers just come back with a bigger attack.

We're on the same side here, I'm working long days on this.
Scawen
Developer
This time, I will answer you, but in future I will ignore any posts that have my name in it. I am not the server guy and I have work to do, that I can never do this year, because the whole year I am dealing with website and server troubles, that were never my job.


Information:

There was a DDoS attack this morning, between around 10:10 and 10:20 UTC. It was ongoing while you wrote your post above.

I can see no problems with the server last night, from looking at our graphs.

Adam, there is a problem with your post. It is no information to me, to say that connection problems started and there was a crash.

You need to describe, step by step, what symptoms you experienced. Don't try to theorise what the problem is. There are attacks and there have been server problems. Just describe what happens and let one of us try to figure out what is actually going wrong.

If you can describe what symptoms you experienced, and what UTC time that occurred then we can try to relate your experience with what we see on our activity graphs.
Last edited by Scawen, .
Scawen
Developer
Quote from sinanju :Edit: As a test, changed host location to USA, and server started working. Changed back to Netherlands, and node error back. So I've got server set to USA again.

Hi, sorry it has taken so long to get back to you.

This system was written by Victor but he has been very busy at his full time job so I have to take over some of the maintenance he would have done in the past. I'm learning more about the website but there's a lot to take in and I don't know how everything works.

I found the old folder of your host on the Netherlands server. I think that shouldn't really remain when you move your host, so I have deleted it (leaving the one in USA that is still running). Please could you try moving it to the Netherlands again and see if it now works?
Last edited by Scawen, .
Scawen
Developer
Let's do a thought experiment, OK?

You must know someone with a job, right?

Now imagine going and asking that person to stop that job and work full time doing something that you want them to do for no money at all.

Will they just say "OK, that's fine, I don't really need money anyway" ?

Seriously Joe, if you can't start to spend 5 seconds using your brain before writing forum posts, we will have to give you a long ban. You are going around writing rubbish far too much and it is becoming a distraction.
Scawen
Developer
Quote from Aleksandr_124rus :A person uses a derogatory term for another nation and it is ignored. The same person criticizes the game development (as I have time to notice, the comments were deleted, maybe I am wrong) and the person is banned from the forum.

You are welcome to use the button to report the post if someone makes an offensive comment. Do you think I read every post in minute detail? Maybe, I am very busy so I have to read over things quite quickly, even if I am following a thread, and might not have time to analyse every word.

On the other hand, I suppose if someone came to the forum every few days and wrote repeated posts about how bad the people of a certain nation are, it would get noticed. Especially if this went on for many years.

The person we are now talking about has been extremely negative, toxic and unpleasant for a very long time. I don't know why someone like that keeps coming back. I'd be happy if he stayed away for good. But something tells me to always be very tolerant and give tiny short bans even when long ones seem deserved.

It's pretty hard doing this job when under attack so often. Also, I could do something else. I do this job for the community members. So it's actually quite upsetting to hear constant anger from bitter members who really have no idea what they are talking about or what is involved.
Scawen
Developer
Quote from MousemanLV :...because as Scawen has said, this game is a hobby for him...

When have I said that? I've never said that.

A full time occupation, working 10 to 12 hours most days, is more than a hobby, I think.

Unless you have a different meaning of hobby?

I have said, I like working on it. Maybe you interpret that as meaning it's a hobby and not a job?
Scawen
Developer
To be clear to others reading:

You submitted a street car (because of course, there aren't enough bimmers and bimmys and bavarias on the system already). Then from what I can see you changed it to a racing car, then later back to a street car, and then later back to a racing car.

Maybe if you were paying a monthly subscription for mod usage, we could hire a team of people whose sole job is to manage the mods system. But we are running a system that is free to use and it is supported by a few volunteers who are trying to make it good for everyone.

We don't have the manpower to constantly monitor your tricks and buy ever more servers to keep hundreds of versions of mods on.

Mods saved our business from total collapse, but now it's becoming a massive drain on my development time. I've spent nearly the whole of January dealing with mods (not to mention most of 2021 and 2023 as well).
Scawen
Developer
Quote from Aleksandr_124rus :Thank you for your time and explanation of how to better optimize the mod, I will definitely do it as soon as I have free time.

No problem, I was just interested, as I saw the frame rate hits, when a lot of cars were on screen, and also seemingly in panning shots with a few cars on screen.

I wondered if there were any problems in LFS so I built a profiler version to see what's up and I spotted a lot of CPU usage in "Draw driver" and "Draw meshes" (that includes subobjects) and "Draw wheels" (includes spoke objects) and also similar issues in the alpha pass. This particular CPU usage is not related in any way to number of polygons. Thousands of polygons may be drawn in a single draw call, which is also the same for one single triangle. LFS does a good job of combining all triangles of a single material, into a single draw call. No matter how many cutouts you use, they will still be combined together if they are using a single material and in a single object.

This heavy CPU usage which is (I think, roughly) double that of an XR turbo led me to look in the model a bit, specially near subobjects and spoke objects. That's where I noticed this use of multiple textures. Also the concealed driver thing which is just one switch to fix.

Quote from Aleksandr_124rus :But I wonder if the problem here is really in the textures or the number of subobjects. Lags during the broadcast occur during the crash of several cars. Is it possible that this is somehow related to the damage model of the high-polygonal mesh or something like that?

When the cars are initially generated (when leaving pits) and when there is a collision, this is when the number of triangles (actually vertices) is a problem. All these vertices and triangles must be created on the CPU and then sent to the graphics card. When damage occurs, the model must be deformed and it is all sent to the graphics card again.

But for a modern graphics card, this number of vertices isn't really a problem regarding drawing the car each frame (when there is no collision). The number of materials is more of a problem, and also subobjects that are not "attachments". Each movable subobject requires a new matrix to be sent to the graphics card and of course a whole batch of draw calls for its materials (which cannot be combined with the main object's materials).

Quote from Aleksandr_124rus :You are right about combining textures in one subobject.
But from this another question arises, what is the best way to optimize the mod? I should not use the same large texture in several subobjects, or make separate small textures for them. So if you use one big texture in two subobjects it double the graphics workload (or something like that) or not cuz it the same texture?

Taking the example of the steering wheel, if those textures are all used only in the steering wheel, then it is a perfect case to make a special texture for that steering wheel. I imagine those 11 (or was it 12) 128x128 textures I talked about, going onto a new texture of 512x512 and you use the 16 squares, leaving a few spare.

It is not a problem to use the same texture in two different subobjects if that is convenient, or for subobjects to share a texture with the main object. But it brings no specific benefit, other than maybe reducing the total size of textures in the whole model. That is more about what texture cutouts you can fit on what pages.

For example, I wouldn't suggest using really massive textures to try to share everything in the whole model. It can be good to use smaller textures, if that is convenient for one (or a few) subobjects. So... don't worry about different subobjects sharing a texture, that is OK, but don't go mad and try to combine everything, which would require extra big textures for no benefit.

However, "attachment" subobjects are a different case, as they don't move, they are combined with the main object. So it's a good idea to share textures with the main object (and/or other attachments) in that case.


I want to help with the materials display in the cutout editor (as described, there is a bug). I am interested to try and add a CPU display in the vehicle editor so you can see the results of your improvements.

EDIT: added image showing materials in my fixed version, that will be more helpful to see the results after you share textures.

EDIT2: added another image showing the combined list of materials, when attachments are combined with main object.
Last edited by Scawen, . Reason : added image
Scawen
Developer
I think you mean: multiple, selectable wheel styles in a single vehicle.

It's something I'd like to do eventually but it's a big job, cannot be done in a compatible version.

As I keep saying, I'm working on the development version now, not mods (which I've been working on for two years already).


EDIT: OK, apparently I'm losing track of time. Here's a rough history.

We have been working on the new graphics and physics versions for years.
2021 I spent most of the year on mods which we released that year.
2022 was a bit more on mods then back to graphics, multithreading, etc.
2023 I seemed to get pulled back onto mods for most of the year.

The end of 2023 was an unforgettable extreme push on mods so it would be much appreciated if people wouldn't keep asking for big changes to the mods system right now. I can do a few updates here and there to the editor. But my main focus is the new development version.
Last edited by Scawen, .
Scawen
Developer
Well you can discuss amongst yourselves, but I am only one programmer and I think the priority is completing the new graphics and physics version. Limits were discussed and set long ago. Unfortunately, hackers learned to get around the limits. I've spent the last two years working on improvements for mods, delaying the big release that everyone wants. I worked right up to the limit of my health before the Christmas holidays, to allow me to get back to the main task.

Now I have learned half the mod creators use a hack to bypass the limits, while other people complain about glitches when people leave the pits. My job is to make sure that doesn't happen, then get back to what I am supposed to be working on. The game is supposed to run smoothly and that is the most important thing.

I'm not going to drop what I am working on to continue working on more updates for mods. I hope you understand.
Scawen
Developer
I prefer it if you don't tell me how to do my job. Nothing here is meaningless and I update because it is extremely important to check these changes thoroughly in the last few days before a massive update.

If you don't want to be involved in testing, don't download the test patch in the first place.

And when were you forced to update? Your whole post is rubbish.
Last edited by Scawen, .
Scawen
Developer
I'm not certain that's the best idea. You could add a /echo command after the command that sets the lights. Would that do the job?

EDIT: OK that won't really work with /light head next but could work with /light head high

For example an F key bind (now that more than one command is allowed on a single line) could be:

/light head high /echo high beam
Scawen
Developer
I understand why you chose to use unrealistic settings before, even if I don't agree with that approach.

To make a good mod in the proper way, the thing is to get as accurate values and settings as possible. If there are physical problems it's really my job to sort that out by improving the physics model. I do understand slight tweaks to mods to deal with imperfect physics.

But the mod still has massive downforce now, even after the steering model changes. Speaking as a mod user (not as a developer) I'd like to explain that makes me simply not want to use the mod at all. No bike in the world has F1-style downforce, as it's impossible. In my opinion the undertray should be deleted, the downforce set to zero and then work on the bike's geometry, mass, weight distribution, suspension, drag, etc. to make it as near to a real 600 as possible, then it will be a fun mod to use.
Scawen
Developer
It would be very hard and far beyond the scope of this test patch to make the AI generation work in a separate thread so it doesn't hang between updates while it iterates the path improvements. You should generate offline (and outside of VR) any AI paths you want to use. Maybe you could use a separate LFS instance.

About the speed of AI, it's not your fault but I'm getting a bit tired of explaining so many times, the AI's driving ability (handling of one car, nothing to do with the overtaking) is all specific to the tyre model in question and has already been improved to some extent in the development version, but I will not be working on that for the public version, as it would be pure wasted time.

Nothing about their speed has got worse in the test patches, as I haven't worked on that. But you could verify by starting an earlier exe, run a single AI and see if the lap times are the same. That's your job as a tester really. Smile I assert that their lone car driving ability is not changed. You are welcome to prove me wrong.
Scawen
Developer
I see, that is a very clever and useful feature. It looks like Daniel did a great job with it. I wish a version of Lazy was available, without the "hack" stuff (that needed to be updated with each version version of LFS) and only the InSim features (that usually remain compatible when LFS updates).

To track the lap and store it in a new data format, do the comparisons and save and load that data at the right times, it's a pretty complicated task. It's good that I have looked at it, I should have another read of Mandula's very good post. It needs time to sink in though.

I can see how such a feature would be good (and most useful) to support natively, but also could make the point that this is the reason for InSim, so other programmers can do this stuff so I can focus on the core.
Scawen
Developer
Quote from Yasso7up :Are you looking forward to do the same thing to formula and f1 clocks?

I've been thinking for a few minutes about this, for example what would happen if I simply enabled a background texture for s_clock_formula / s_clock_f1 / s_clock_f3 / s_clock_fbm (or some of them).

The thing is these clock textures are very hard coded, without adjustment. So I think a proper job for these clocks would be to provide adjustment sliders and many other forms of customisation. And that is what I really can't do at this time.

But... in theory it could be easy to enable a background texture for at least some of them. I'm not sure how much use you could make of it, with these current non-adjustable versions of the textures.

But maybe it's more useful than I think. Do let me know, please.
Scawen
Developer
LFS should be able to do a good job of assigning groups when loading a obj. I know because I wrote a big function to do it! Smile

It depends on the vertices not being fused. From a quick glance in the code I can't get my head round it entirely, but is it that normals have to be exported? So that the vertices in the different smoothing groups refer to different normals?

LFS doesn't use smoothing groups as defined in the obj specification, so there is no point saving them in the obj.

I think it should be possible to do the export in such a way that LFS gets all the smoothing groups right.

This is not to say that turbofan's suggested function couldn't be useful, but hopefully is not necessary in this case if the export is done in the right way that LFS can work out the groups automatically. Certainly it should work fine for Blender exports, but if it's not possible in exports from other software I'd like to know about it.

EDIT: I thought there was something in the LFS manual about it but I can't see it in a quick search. Anyway here's a few tips for Blender. https://youtu.be/Rf6HK_niFjo?t=66
Last edited by Scawen, .
Scawen
Developer
I had fun, thanks!

I did hold it together for the first race so I'm happy with that. After a start grid incident I found myself at the back of the field in 16th position. I gradually worked up a bit to finish 9th. Related to energy saving, I managed to catch up and pass Zdravko Topolnjak near the end of the final lap, but ran out of energy on the final bend so he passed me again. This was quite exciting. Big grin

My second race was a bit out of control. I think I struggled with the extra power, which I had opted for in that race but as my car was faster than usual at the high speed bend, I think that was the cause of a few wall hits that made the car handle badly. Eventually when we could select dry tyres, I opted to fix the car which took a long time, only to immediately hit the same wall again! After another driver's incident caused a safety car I was allowed to pass the safety car and raced around the track to catch the back of the field. Lack of experience showed when I came across the slow moving cars on lap 19 and crashed right into the back of Jared Meade, knocking his car into the air. Sorry about that! That was again at the famous high speed corner. After the restart there wasn't long to go and on lap 20 I hit the armco at the high speed corner, this time knocked myself right out of the course and had to find my way back in to the circuit to finish the race. Is that legal? Schwitz

So... that fast corner caused a lot of trouble for me but as I say, the first race felt in control and consequently more fun. I don't think I deserve any congratulations at all for the second race.

I would like to congratulate the other drivers, especially the top three: Gábor Gyüre, Imran Azhar and Niko Puntola though I have to say there were a lot of really good drivers there. It's amazing to see.

The replicas of the real tracks are so well done by Michal Málek, within the limits of the layout editor. The organisation and running the races by Master Race Car in conjunction with New Dimension Racing is incredibly professional. Finally the coverage by Sim Broadcasts is so well done and entertaining, what can I say but well done everyone, amazing job.

It's quite humbling to experience such fine work using this old simulator and I am extra inspired to get done what needs to be done, to bring the latest updates to you.

Nearly my finest moment:


Definitely not my finest moment:
Last edited by Scawen, .
Scawen
Developer
About laps remaining / fuel usage per lap display, see the attachment for a mockup. Probably just grey on transparency like the other displays (not green on pure black). I'm asking more about the layout and information format.

Would this do the job? I'm not sure about "1L" and "AV". My intention is to replace the @ symbol with either a fuel tank or battery.

But some of you are good graphics designers so please let me know if you have a better idea.

EDIT: There are pictures of a first version actually implemented a few posts later.

Note that 48.6L (laps remaining) is already shown on the steering wheel (but not in all cars).
Last edited by Scawen, .
Scawen
Developer
Something Eric asked me about recently, combined with another thing I noticed regarding the E-challenge, makes me want to do a quick update.


Eric's suggestion is a keypress to cycle the F9 to F12 status screens.

My answer is something like a /status command.

How about:
/status [none/F9/F10/F11/F12/next/prev]

So for Eric's request you would assign to an F key (and wheel button) the following text command:
/status next


How it relates to E-Challenge: on this thread there are some scripts designed to make it easy to set pit instructions to change tyres, when conditions change to wet or dry.

But it is possible for these scripts to go wrong if you aren't careful as they rely on the starting conditions being correct. This is because they use left and right arrow key presses, which change things (e.g. tyres) relative to the current value.

They go into or out of the status screens with commands like /press F12 (which also has the problem that F12 is a toggle, so if you are already in that screen you would exit the screen instead of entering it.

So I was thinking this could be better if there were some very positive commands that don't rely on the current setting.

I was thinking of a command /pitreq, that could work like this:
/pitreq ftyre R2
/pitreq repair yes
/pitreq cancel
/pitreq rcamber -2

I hope you get the idea and I just thought I'd put that out there as I hope to do a quick job on it, and maybe someone thinks of something I haven't thought of.

I think the following /pitreq options are needed, though it's not fully considered yet.

fuel
tyrechange
repair
symmetric

ftyre
fcamber_l (aka fcamber if symmetrical)
fpressure_l (aka fpressure if symmetrical)
fcamber_r
fpressure_r
fwing

rtyre
rcamber_l (aka rcamber if symmetrical)
rpressure_l (aka rpressure if symmetrical)
rcamber_r
rpressure_r
rwing
Scawen
Developer
Well, that explains why Discord could want my details but doesn't explain why they would threaten to pass that on to the criminal. So although I accept there may be a legal process, I suggest that this is a convenient way for Discord (and maybe other companies, too) to avoid doing that part of their job that they don't really want to do. It would only take 5 minutes to verify the illegitimacy of certain servers and close them down, but they would rather hide behind this legal process.

There is no Scavier Solutions, that's just a made-up company. Big grin I think one of the early beta testers put it on a skin for fun, or something like that. Big grin
FGED GREDG RDFGDR GSFDG